1 Public Class FrmPOSADD
2     Dim vat_tax As Double
3     Private Sub FrmPOSADD_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
4         
'txtid.Text = ""
5         
'txtname.Text = ""
6         
'txtprice.Text = ""
7         
'txtqty.Text = "0"
8         txtqty.Select()
9         vat_tax = (
100 + VAT) / 100
10         
'FrmPOSSTOCKSLIST.ShowDialog()
11     End Sub
12
13     Private Sub txtqty_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtqty.TextChanged
14         If txtqty.Text =
"" Then txtqty.Text = "0"
15         txtqty.Text = str_Filter(txtqty,
48, 57, 0, 0)
16         With FrmPOS_CHOICES
17             If CDbl(txtqty.Text) > CDbl(txt_QTYi.Text) Then
18                 If .rbdefect.Checked Then
19                     MsgBox(
"Return quantity should not be greater than current quantity !!" & _
20                     Chr(
13) & "Return Quantity : " & txtqty.Text & _
21                     Chr(
13) & "Current Quantity : " & txt_QTYi.Text, MsgBoxStyle.Information, "Sales and Inventory")
22                     txtqty.Text =
0
23                     txtqty.Focus()
24                     txtqty.Select()
25                 Else
26                     MsgBox(
"Order quantity should not be greater than current quantity !!" & _
27                     Chr(
13) & "Order Quantity : " & txtqty.Text & _
28                     Chr(
13) & "Current Quantity : " & txt_QTYi.Text, MsgBoxStyle.Information, "Sales and Inventory")
29                     txtqty.Text =
0
30                     txtqty.Focus()
31                     txtqty.Select()
32                 End If
33             End If
34             If CDbl(txtqty.Text) >
0 Then
35                 cmdsave.Enabled = True
36             Else
37                 cmdsave.Enabled = False
38             End If
39         End With
40     End Sub
41
42     Private Sub cmdcancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdcancel.Click
43         Me.Close()
44     End Sub
45
46     Private Sub cmdsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsave.Click
47         Dim dtl_ID As Integer
48         Dim VATable As Double
49         Dim TotalAmount As Double
50         Dim TotalSale As Double
51         Dim Vat12 As Double
52         Dim TotalAmount_Due As Double
53         Dim tmpSalesID As Integer
54
55         VATable =
0
56         TotalAmount =
0
57         TotalSale =
0
58         Vat12 =
0
59         TotalAmount_Due =
0
60
61         With FrmPOS_CHOICES
62             If CDbl(txtqty.Text) >
0 Then
63                 If .rbdefect.Checked Then
64
65
66
67                     sqlSTR =
"SELECT * FROM TBL_Pending_Item WHERE Pending_ID =" & txtpendingID.Text
68                     ExecuteSQLQuery(sqlSTR)
69                     If sqlDT.Rows.Count >
0 Then
70                         dtl_ID = sqlDT.Rows(
0)("sales_Detail_ID")
71                         
'FOR ITEM_QTY
72                         
'sqlSTR = "SELECT * FROM TBL_Sales_Sold_Detail WHERE Sales_Detail_ID =" & dtl_ID & " AND Sales_ID =" & FrmPOSVIEW.txtreceiptid.Text
73                         sqlSTR =
"SELECT * FROM TBL_Sales_Receipt " & _
74                                  
"INNER JOIN TBL_Sales_Sold_Detail ON TBL_Sales_Receipt.Sales_ID = TBL_Sales_Sold_Detail.Sales_ID " & _
75                                  
" WHERE TBL_Sales_Receipt.Receipt_ID =" & FrmPOSVIEW.txtreceiptid.Text & _
76                                  
" AND Sales_Detail_ID =" & dtl_ID
77                         ExecuteSQLQuery(sqlSTR)
78
79                         
'GET SALES_ID
80                         tmpSalesID = sqlDT.Rows(
0)("Sales_ID")
81
82                         sqlSTR =
"UPDATE TBL_Sales_Sold_Detail " & _
83                                  
"SET Item_QTY = Item_QTY + " & CDbl(txtqty.Text) & ", " _
84                                & 
"Total_Price = " & CDbl((CDbl(sqlDT.Rows(0)("Item_QTY")) + CDbl(txtqty.Text)) * CDbl(txtprice.Text)) & ", " _
85                                & 
"Item_Name ='" & R_eplace(txtname.Text) & " / " & CDbl(txtqty.Text) & " QTY Return Product(s)" & "', " _
86                                & 
"Added_QTY = Added_QTY + " & CDbl(txtqty.Text) & _
87                                  
" WHERE Sales_Detail_ID =" & dtl_ID & _
88                                  
" AND Sales_ID =" & tmpSalesID
89                         ExecuteSQLQuery(sqlSTR)
90
91                         
'START TO RE-COMPUTE
92                         sqlSTR =
"SELECT * FROM TBL_Sales_Sold_Detail WHERE Sales_ID =" & tmpSalesID
93                         ExecuteSQLQuery(sqlSTR)
94                         If sqlDT.Rows.Count >
0 Then
95                             For x =
0 To sqlDT.Rows.Count - 1
96                                 TotalAmount = TotalAmount + CDbl(sqlDT.Rows(x)(
"Item_QTY")) * CDbl(sqlDT.Rows(x)("Item_Price"))
97                             Next
98                         End If
99
100                         VATable = Format(TotalAmount - (TotalAmount - (TotalAmount / vat_tax)),
"###,###.00")
101                         TotalSale = VATable
102                         Vat12 = Format((TotalAmount - (TotalAmount / vat_tax)),
"###,###.00")
103                         TotalAmount_Due = Format(CDbl(TotalSale) + CDbl(Vat12),
"###,###,###.00")
104
105                         
'FOR TBL_Sales_Sold
106                         sqlSTR =
"UPDATE TBL_Sales_Sold " & _
107                                  
"SET Amount_Due =" & TotalAmount & ", " _
108                                & 
"Amount_Change = Amount_Receive -" & TotalAmount & _
109                                  
" WHERE Sales_ID =" & tmpSalesID
110                         ExecuteSQLQuery(sqlSTR)
111
112                         
'FOR TBL_Sales_Receipt
113                         sqlSTR =
"UPDATE TBL_Sales_Receipt " & _
114                                  
"SET Vatable =" & VATable & ", " & "Total_Sale =" & TotalSale & ", " & _
115                                  
"Amount_Due =" & TotalAmount_Due & ", " & "Vat =" & Vat12 & _
116                                  
"WHERE Sales_ID =" & tmpSalesID
117                         ExecuteSQLQuery(sqlSTR)
118
119                         
'UPDATE STOCKS
120                         sqlSTR =
"UPDATE TBL_Stocks_Balances " & _
121                                  
"SET Item_QTY = Item_QTY - " & CDbl(txtqty.Text) & _
122                                  
"WHERE Item_ID =" & txtid.Text
123                         ExecuteSQLQuery(sqlSTR)
124                     End If
125                     
'Product Return
126                     If CDbl(txtqty.Text) = CDbl(txt_QTYi.Text) Then
127                         sqlSTR =
"UPDATE TBL_Pending_Item SET Returnx= 'Yes'" & ", " & _
128                                                               
"Return_Date ='" & Format(Now, "MM/dd/yyyy") & "'" & _
129                                                               
" WHERE Pending_ID =" & txtpendingID.Text
130                         ExecuteSQLQuery(sqlSTR)
131                         
'-----
132                         sqlSTR =
"UPDATE TBL_Sales_Sold_Detail " & _
133                                  
"SET Added_QTY = 0 WHERE Sales_Detail_ID =" & dtl_ID & _
134                                  
" AND Sales_ID =" & tmpSalesID
135                         ExecuteSQLQuery(sqlSTR)
136                     End If
137                     Audit_Trail(xUser_ID, TimeOfDay,
"Return defect item to customer")
138                 ElseIf .rbNew.Checked Then
139                     
'ADD NEW PRODUCTx
140                     sqlSTR =
"SELECT * FROM TBL_Sales_Receipt WHERE Receipt_ID =" & FrmPOSVIEW.txtreceiptid.Text
141                     ExecuteSQLQuery(sqlSTR)
142                     tmpSalesID = sqlDT.Rows(
0)("Sales_ID")
143                     
'GET SALES_ID
144
145                     sqlSTR =
"INSERT INTO TBL_Sales_Sold_Detail (Sales_ID, Item_ID, Item_Name, Item_Description, Item_Price, Item_Qty, Total_Price, Added_QTY) " & _
146                              
"VALUES (" & tmpSalesID & ", " _
147                                        & txtid.Text &
", " _
148                                        & 
"'" & R_eplace(txtname.Text) & " [ Added new product ]" & "', " _
149                                        & 
"'" & R_eplace(txtdesc.Text) & "', " _
150                                        & CDbl(txtprice.Text) &
", " _
151                                        & CDbl(txtqty.Text) &
", " _
152                                        & CDbl(txtprice.Text) * CDbl(txtqty.Text) &
", " _
153                                        & 
0 & ")"
154                     ExecuteSQLQuery(sqlSTR)
155
156                     
'START TO RE-COMPUTE
157                     sqlSTR =
"SELECT * FROM TBL_Sales_Sold_Detail WHERE Sales_ID =" & tmpSalesID
158                     ExecuteSQLQuery(sqlSTR)
159                     If sqlDT.Rows.Count >
0 Then
160                         For x =
0 To sqlDT.Rows.Count - 1
161                             TotalAmount = TotalAmount + CDbl(sqlDT.Rows(x)(
"Item_QTY")) * CDbl(sqlDT.Rows(x)("Item_Price"))
162                         Next
163                     End If
164
165                     VATable = Format(TotalAmount - (TotalAmount - (TotalAmount / vat_tax)),
"###,###.00")
166                     TotalSale = VATable
167                     Vat12 = Format((TotalAmount - (TotalAmount / vat_tax)),
"###,###.00")
168                     TotalAmount_Due = Format(CDbl(TotalSale) + CDbl(Vat12),
"###,###,###.00")
169
170                     
'FOR TBL_Sales_Sold
171                     sqlSTR =
"UPDATE TBL_Sales_Sold " & _
172                              
"SET Amount_Due =" & TotalAmount & ", " _
173                            & 
"Amount_Change = Amount_Receive -" & TotalAmount & _
174                              
" WHERE Sales_ID =" & tmpSalesID
175                     ExecuteSQLQuery(sqlSTR)
176
177                     
'FOR TBL_Sales_Receipt
178                     sqlSTR =
"UPDATE TBL_Sales_Receipt " & _
179                              
"SET Vatable =" & VATable & ", " & "Total_Sale =" & TotalSale & ", " & _
180                              
"Amount_Due =" & TotalAmount_Due & ", " & "Vat =" & Vat12 & _
181                              
"WHERE Receipt_ID =" & FrmPOSVIEW.txtreceiptid.Text
182                     ExecuteSQLQuery(sqlSTR)
183
184                     
'UPDATE STOCKS
185                     sqlSTR =
"UPDATE TBL_Stocks_Balances " & _
186                              
"SET Item_QTY = Item_QTY - " & CDbl(txtqty.Text) & _
187                              
"WHERE Item_ID =" & txtid.Text
188                     ExecuteSQLQuery(sqlSTR)
189
190                     Audit_Trail(xUser_ID, TimeOfDay,
"Add New Stocks to Customer")
191                 End If
192             End If
193
194         End With
195         
196         Me.Close()
197     End Sub
198 End Class


Gõ tìm kiếm nhanh...